#ifndef _KV_PAIR 
#define _KV_PAIR 

#include <stdbool.h>

#ifdef __cplusplus
extern "C" {
#endif

typedef struct _kv_pair {
    char *key;
    char *value;
    struct _kv_pair *first;
    struct _kv_pair *next;
}kv_pair;
kv_pair *kv_add(kv_pair *kv,const char *key,const char *value);
kv_pair *kv_remove(kv_pair *kv,const char *key);
char *kv_join(kv_pair *kv,const char *kv_delimiter,const char *pair_delimiter);
kv_pair *kv_get_by_key(kv_pair *kv,const char *key);
bool kv_free(kv_pair *kv);
#ifdef __cplusplus
}
#endif

#endif /*_KV_PAIR*/
